import 'package:flutter_eve_plugin/store/ye_xiu/archives/main.dart';
import 'package:flutter_eve_plugin/store/ye_xiu/checkpoint/main.dart';
import 'package:flutter_eve_plugin/store/ye_xiu/login/main.dart';
import 'package:flutter_eve_plugin/store/ye_xiu/rank/main.dart';

class YeXiuState {
  final LoginState loginState;
  final RankState rankState;
  final CheckpointState checkpointState;
  final ArchievesState archivesState;

  YeXiuState({
    this.loginState,
    this.rankState,
    this.checkpointState,
    this.archivesState,
  });

  YeXiuState copyWith({loginState, rankState, checkpointState, archivesState}) {
    return YeXiuState(
      loginState: loginState ?? this.loginState,
      rankState: rankState ?? this.rankState,
      checkpointState: checkpointState ?? this.checkpointState,
      archivesState: archivesState ?? this.archivesState,
    );
  }

  static YeXiuState initialState() {
    return YeXiuState(
      loginState: LoginState.initialState(),
      rankState: RankState.initialState(),
      checkpointState: CheckpointState.initialState(),
      archivesState: ArchievesState.initialState(),
    );
  }
}
